package com.xiaoye.qbproject.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaoye.qbproject.domain.ZbInfo;
import com.xiaoye.qbproject.dto.NodeAndRelationDto;
import com.xiaoye.qbproject.vo.ZbInfoVo;
import com.xiaoye.qbproject.vo.dropDown.ZbInfoDropDownVO;
import com.xiaoye.qbproject.vo.relation.Node;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Administrator
 * @description 针对表【ZB_INFO(装备信息)】的数据库操作Mapper
 * @createDate 2024-12-27 02:57:47
 * @Entity com.xiaoye.qbproject.domain.ZbInfo
 */
public interface ZbInfoMapper extends BaseMapper<ZbInfo> {
    /**
     * @description: 下拉列表查询装备信息
     * @author: ChenYao
     * @return: java.util.List<com.xiaoye.qbproject.vo.dropDown.ZbInfoDropDownVO>
     * @ceateDate: 2025-01-02 14:10
     */

    List<ZbInfoDropDownVO> dropDown(@Param("excludeIds") List<String>excludeIds);

    /**
     * @param entityName
     * @description: 获取装备节点
     * @author: ChenYao
     * @return: java.util.List<com.xiaoye.qbproject.vo.RelationVo.Node>
     * @ceateDate: 2025-01-06 12:21
     */

    List<Node> getZbNodes(@Param("entityName") String entityName, @Param("zbIds") List<String> zbIds);

    List<Node> getZbNodesByFromIds(@Param("zbFromIds") List<String> zbFromIds);

    /**
     * @param entityName
     * @description: 获取有关系的节点信息
     * @author: ChenYao
     * @return: java.util.List<com.xiaoye.qbproject.vo.relation.Node>
     * @ceateDate: 2025-01-06 16:08
     */

    List<NodeAndRelationDto> getZbHaveRelation(@Param("entityName") String entityName);

    /**
     * @param zbInfoVo
     * @description: 根据条件查询装备信息列表
     * @author: ChenYao
     * @return: java.util.List<com.xiaoye.qbproject.domain.ZbInfo>
     * @ceateDate: 2025-01-10 13:04
     */

    List<ZbInfo> getZbInfoList(@Param("zbInfoVo") ZbInfoVo zbInfoVo);

    /**
     * @param id
     * @description: 获取装备详情
     * @author: ChenYao
     * @return: com.xiaoye.qbproject.domain.ZbInfo
     * @ceateDate: 2025-01-10 13:43
     */

    ZbInfo getZbInfo(@Param("id") String id);

    /***
     * @description: 查询匹配到的装备名称
     * @author: ChenYao
     * @param words
     * @return: java.util.List<com.xiaoye.qbproject.domain.ZbInfo>
     * @ceateDate: 2025/1/20 上午4:21
     */

    List<ZbInfo> getZbInfoByNames(@Param("words") List<String> words);
}




